package com.hyfrogx.modules.manage.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hyfrogx.common.exception.ServiceException;
import com.hyfrogx.common.utils.QueryExt;
import com.hyfrogx.modules.app.form.video.VodVideoVo;
import com.hyfrogx.modules.manage.entity.video.HyVideoVodEntity;
import com.hyfrogx.modules.manage.form.video.ConvertVodFileForm;

import java.util.Map;

public interface HyVideoVodService extends IService<HyVideoVodEntity> {

    /**
     * 判断视频channelId是否唯一
     */
    int isExistVideoBychannelId(String channelId);

    IPage getVideoVodByConditions(QueryExt queryExt);

    /**
     * 前端获取视频信息
     * @param vodId
     */
    Object getFileByFileId(String vodId) throws Exception;


    IPage findVideoVodListByTypeAndChannel(QueryExt queryExt);

    VodVideoVo getVodVideoByVid(Integer id) throws ServiceException;


    /**
     * 转码==腾讯云转码请求 fileId 文件Id type 视频类型
     */
    void ConvertVodFile(ConvertVodFileForm form)  throws Exception ;

    /**
     * 获取签名
     * @param param
     * @return
     * @throws Exception
     */
    String getSign(Map param) throws Exception;


    /**
     * 处理腾讯云的回调
     * @param data
     */
    void callBack(String data) throws Exception;


}
